Several elements of the BASIC language may be different or not included in your implementation. Some of these statements are listed below.
BEEP | ON KEY |
CDBL$ | OPEN |
COLOR | OPEN COM |
CSRLIN | PAINT |
DRAW | PALETTE |
ERDEV, ERDEV$ | PEN |
GET - Graphics | PLAY |
INKEY$ | PUT - Graphics |
INPUT | POS |
JIS$ - ECS | SCREEN |
KEY | SOUND |
KLEN - ECS | VAL |
KPOS - ECS | VIEW |
KTN$ - ECS | WINDOW |
LOCATE |
Read these sections closely and make the appropriate changes required for your specific implementation. A look at each statement and function alphabetically folows:
The default value aspect ratio depends on particular screen hardware.
In some versions, CLEAR supports the ability to further control video memory with the videomemory parameter. The following is the enhanced syntax for the compiler:
CLEAR [,[location] [,[stack] [,videomemory]]]
The videomemory parameter tells BASIC to ensure there is enough room for videomemory number of bytes for display memory. This allocates space for graphic modes that require large amounts of display memory, or for additional pages (each of which might be displayed on the screen). The videomemory parameter is not supported on most machines.
Colors are display-hardware dependent.
Note that the meanings of the LOCATE argument, can vary according to your implementation. Specifically, the largest row number and column number will vary according to the particular machine. Also, whether the cursor blinks, and the speed at which it blinks, depends on the particular machine.
In addition, the start and stop options are not implemented on some machines. If they are available, the range will vary according to the particular machine.
Support for LPRINT depends on the lineprinters supported.
Multiple voices require hardware support found only in certain machines. If you attempt to execute the NOISE statement on anything but a machine without this hardware support you will get an "Advanced feature error" message.
The range of colors for this statement depend on screen hardware.
If PCOPY is executed on a machine that does not support multiple screen pages, an "Advanced Feature Error" message results.
On some machines, the pen should not be used in the border area of the screen. Any values returned while the pen is in that area will be inaccurate.
The number of notes can be played in the background at one time varies according to the particular machine.
The largest row number will vary according to the particular machine.
The actual algorithm and random values for this function may vary with implementation.
The options for this statement are display-hardware dependent.
Some versions of BASIC will not allow the user to SHELL to another copy of BASIC.
BASIC, when run as a child process, will recognize this before initialization and return to the parent copy of BASIC after issuing the message: "You cannot Shell to BASIC".
This restriction is provided as an implementation option for cases where it is necessary to protect the integrity of the BASIC parent.
BASIC will produce a child program when it uses the SHELL statement. It is not possible for BASIC to totally protect itself from its children.
When a SHELL statement is executed, many things may be going on.
For example, files may be open and devices may be in use.
The following guidelines will help to prevent child processes from harming the BASIC envirionment.
CSEG SEGMENT CODE | ;Machine language subroutine |
RET | ;Last instruction |
START:: | |
INT 27H | ;Terminate, stay resident |
CSEG ENDS | |
END START |
Multiple voices require hardware support found only in certain machines. If you attempt to execute a program with multiple voices on a machine without such support, you will get an "Advanced feature error" message.